<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .box{width:400px;height:300px;border: solid 1px black;margin: 0 auto;}
        .box ul{margin: 0;padding:0;list-style: none;display: flex;background: #eee;height: 30px;line-height:30px;}
        .box ul li{flex: 1;border-left:solid 1px #fff;border-right:solid 1px #fff;text-align: center;cursor: pointer;}
        .box ul li.active{background: red;color: #fff;}

        .box .cont>div{height: 270px;display: none;}
        .phone{background: #399;}
        .computer{background: #393;}
        .bike{background: #939;}
    </style>
</head>
<body>
    <div class="box">
        <ul><li>手机</li><li>电脑</li><li>自行车</li></ul>
        <div class="cont">
            <div class="phone">这是手机</div>
            <div class="computer">这是电脑</div>
            <div class="bike">这是自行车</div>
        </div>
    </div>
</body>
<script>
    // 分析：选项卡，点击按钮切换对应内容
    // 1. 选择元素
    // 2. 设置默认索引，添加默认样式
    // 3. 给每个元素添加索引
    // 4. 绑定事件
        // 6. 取消上一个显示样式
        // 5. 获取当前点击按钮的索引(非实际功能)
        // 7. 根据获取到的索引进行切换指定

    // 设计 & 编程
<<<<<<< HEAD
        function Tab(){
            // 属性====变量
            // 选择到的元素
            this.btns = document.querySelectorAll(".box li")
            this.conts = document.querySelectorAll(".box .cont>div");
            // 设置的默认索引
            this.index = 0;
            // 添加索引
            this.setIndex();
            // 绑定事件
            this.setEvent();
            // 添加默认样式
            this.setDefault();
        }
        Tab.prototype.setEvent = function(){
            const that = this;
            for(let i=0;i<this.btns.length;i++){
                this.btns[i].onclick = function(){
                    // 清除之前:that.clearPrev(that.index)
                    that.btns[that.index].className = "";
                    that.conts[that.index].style.display = "none";
                    // 给当前添加:that.setActive(this.index)
                    that.btns[this.index].className = "active";
                    that.conts[this.index].style.display = "block";
                    // 将本次索引设置为下一次的上一个:
                    // that.changeIndex(this.index)
                    that.index = this.index;
                }
=======
    function Tab(){
        // 属性====变量
        // 选择到的元素
        this.btns = document.querySelectorAll(".box li")
        this.conts = document.querySelectorAll(".box .cont>div");
        // 设置的默认索引
        this.index = 0;
        // 绑定事件
        this.setEvent();
        // 添加索引
        this.setIndex();
        // 添加默认样式
        this.setDefault();
    }
    Tab.prototype.setEvent = function(){
        const that = this;
        for(let i=0;i<this.btns.length;i++){
            this.btns[i].onclick = function(){
                // 清除之前:that.clearPrev(that.index)
                that.btns[that.index].className = "";
                that.conts[that.index].style.display = "none";
                // 给当前添加:that.setActive(this.index)
                that.btns[this.index].className = "active";
                that.conts[this.index].style.display = "block";
                // 将本次索引设置为下一次的上一个:
                // that.changeIndex(this.index)
                that.index = this.index;
            }
        }
    }
    Tab.prototype.setIndex = function(){
        this.btns.forEach((val,idx)=>{
            val.index = idx;
        })
    }
    Tab.prototype.setDefault = function(){
        this.btns[this.index].className = "active";
        this.conts[this.index].style.display = "block";
    }
    // Tab.prototype.clearPrev = function(prev){
    //     // prev
    // }
    // Tab.prototype.setActive = function(now){
    //     // now
    // }
    // Tab.prototype.changeIndex = function(now){
    //     // now
    // }

    new Tab();

    

</script>
</html>